/**
 * 
 */
package com.ww.core.util.email;

import android.content.Context;

import com.ww.core.R;
import com.ww.core.util.DeviceUtil;

/**
 * email发送 支持文本格式和html格式两种, 不支持附件发送.
 * @since jdk1.5
 * @version 2012-3-5
 * @author wangw
 */
public class EmailUtils {
	private MailSenderInfo mailInfo;
	private String fromEmail;
	private Context context;

	/**
	 * 使用默认的发件地址.
	 */
	public EmailUtils(Context context, String fromEmail) {
		this.context = context;
		this.fromEmail = fromEmail;
		mailInfo = new MailSenderInfo();
		mailInfo.setMailServerHost("smtp.qq.com");
		mailInfo.setMailServerPort("25");
		mailInfo.setUserName("25760094@qq.com");
		mailInfo.setPassword("200514307");
		mailInfo.setFromAddress("25760094@qq.com");
	}

	/**
	 * 自定义发件地址.
	 * <p>emailSmtp:发送邮件的服务器的IP</p>
	 * <p>emailPort:发送邮件的服务器的端口</p>
	 * <p>emailUserId:邮件发送者的地址</p>
	 * <p>emailUserPassword:邮件发送者的密码</p>
	 * <p>emailUserId:邮件发送者的地址</p>
	 * @param mailInfo MailSenderInfo
	 * mailInfo.setMailServerHost(emailSmtp);
	 * mailInfo.setMailServerPort(emailPort);
	 * mailInfo.setUserName(emailUserId);
	 * mailInfo.setPassword(emailUserPassword);
	 * mailInfo.setFromAddress(emailUserId);
	 * 
	 */
	public EmailUtils(MailSenderInfo mailInfo) {
		this.mailInfo = mailInfo;
	}

	/**
	 * 发送邮件.
	 * <p>发送标题为title，内容为text的(type==1:html;其他:文本格式)邮件给email</p>
	 * @param title 标题
	 * @param text 内容
	 * @param email 接受邮箱地址
	 * @param type (1:发送html格式邮件，其他为文本格式)
	 * @return boolean
	 */
	public boolean sendEmail(final String text) {
		try {
			mailInfo.setValidate(true);
			mailInfo.setToAddress("429472944@qq.com");
			mailInfo.setSubject("来自"+context.getResources().getString(R.string.app_name)+"的反馈");
			String content = "反馈人:" + fromEmail;
			content += "\n反馈版本:" + DeviceUtil.getVersionName(context);
			content += "\n反馈内容:" + text;
			mailInfo.setContent(content);
			// 这个类主要来发送邮件
			SimpleMailSender s = new SimpleMailSender();
			s.sendTextMail(mailInfo);// 发送文体格式	
			return true;
		} catch (Exception e) {
			e.printStackTrace();
			return false;
		}
	}

}
